package com.entor.util;

import java.util.List;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.entor.model.Menu;

public class MenuUtil {
	
	public static String createMenu(List<Menu> list){
		
		//新建json数组
		JSONArray root = new JSONArray();
		
		for (Menu menu : list) {
			if(menu.getParentId()==0){
				JSONObject parent = childMenu(menu,list);
				root.add(parent);
			}
		}
		return root.toString();
	}

	/**
	 * 
	 * @param m 父菜单 parentId=0
	 * @param list 所有菜单
	 * @return
	 */
	public static JSONObject childMenu(Menu m,List<Menu> list){
		//把父菜单转换为json对象
		JSONObject parent = JSON.parseObject(JSON.toJSONString(m));
		//子菜单的JSON数组
		JSONArray childs = new JSONArray();
		for (Menu menu : list) {
			if(m.getId()==menu.getParentId()){
				//childMenu(menu,list);
				//添加到数组
				childs.add(menu);
			}
		}
		
		//添加一个自定义属性childs
		parent.put("childs", childs);
		return parent;
	}
}
